'use strict';

const { Service } = require('egg');

class CategoryService extends Service {
  /**
   * 根据分页和搜索条件获取
   * @param {Object} where 查询用户的条件
   * @param {Number} page 当前分页
   * @param {Number} pageSize 当前页每页多少条
   */
  async getPage(where, page, pageSize) {
    const { Category } = this.ctx.model;
    return Category.findAndCountAll({
      where,
      offset: pageSize * (page - 1),
      limit: pageSize,
    });
  }

  // 所有列表
  async allList() {
    const { Category } = this.ctx.model;
    return Category.findAll();
  }

  /**
   * 创建
   * @param {*} data 角色信息
   */
  async create(data) {
    return this.ctx.model.Category.create(data);
  }

  /**
   * 根据ID修改
   * @param {Number} id ID
   * @param {Object} data 要修改的信息
   */
  async update(id, data) {
    return await this.ctx.model.Category.update(data, { where: { id } });
  }

  /**
   * 根据id删除
   * @param {Number}
   */
  async deleteById(id) {
    return await this.ctx.model.Category.destroy({ where: { id } });
  }


}

module.exports = CategoryService;
